package cn.mugutu.finance.utils;

import java.util.ArrayList;
import java.util.List;

/**
 * 集合工具类
 * @author ganbo
 * 2016年6月28日 下午12:19:22
 */
public class CollectionUtil {

    /**
     * list 内存分页
     * @param list
     * @param pageSize
     * @param currentPage
     * @return
     */
    public static <T> Pager<T> listToPage(List<T> list, int pageSize, int currentPage) {
        Pager<T> pager = new Pager<>(pageSize, currentPage, list.size());
        currentPage = pager.getCurrentPage();
        pageSize = pager.getPageSize();

        int start = (currentPage - 1) * pageSize;
        int end = (start + pageSize) >= list.size() ? list.size() : start + pageSize;

        List<T> rows = new ArrayList<>();
        for (int i = 0; i < list.size(); i++) {
            if (i >= start && i < end) {
                rows.add(list.get(i));
            }
        }
        pager.setRows(rows);
        return pager;
    }

}
